package com.sali.utils.limiter;

import com.google.common.util.concurrent.RateLimiter;

import java.util.concurrent.TimeUnit;

/**
 * @description:
 * @author: zhang hang
 * @date: 2022/7/19 11:28.
 * @version: 1.0
 */
public class TokenAlgorithm implements ILimiterAlgorithm {

    @Override
    public boolean algorithmDetail(RateLimiter rateLimiter) {
        // 设置一个等待时间，如果在等待的时间内获取到了token令牌，则处理业务，如果等待时间内没有获取到响应token则抛弃
        return rateLimiter.tryAcquire(1, TimeUnit.SECONDS);
    }
}
